MIME-Version: 1.0
Server: CERN/3.0
Date: Monday, 16-Dec-96 23:10:40 GMT
Content-Type: text/html
Content-Length: 1987
Last-Modified: Wednesday, 28-Feb-96 21:26:54 GMT

<TITLE> Topics for prelim 1 </TITLE>

<PRE>
Topics For the Prelim:

1) Basic C++ constructs
	- basic types (int, char, float, double)
	- I/O (cin, cout)
	- control statements (for loops, while loops, if, switch)
	- function declaration, reference parameters vs value 
		parameters
	
2) Complex C++ types
	- strings - definition (array of characters terminated by 
					'\0')
		  - functions for manipulating strings 
					(strcmp, strcpy)
	- arrays (including multi-dimensional arrays), structs, 
		arrays of structs, structs of arrays of ..., etc
	- typedefs
	- const declarations, static declarations
	
3) Pointers
	- declaring pointers
	- *, & operators (how to use them, understanding programs 
		that contain them)
	- pointers to structures 
		(structPtr->field == (*structPtr).field)
	- relationship between pointers and arrays
	- indexing pointers and pointer arithmetic(ptr[3], *ptr++)
	- arrays and pointers as parameters in functions

4) Classes
	- basic declarations
	- private vs public 
	- friend functions vs member functions
	- operator overloading
	- overloading the assignment operator
	- constructors - null constructor, copy constructor, 
		constructor with arguments
	- destructors
	- const member functions
	- 'this'

5) Memory Management
	- definitions of static, automatic, dynamic data
	- using new and delete
	- using new and delete for arrays
	- using new and delete in conjunction with classes
	- shallow copy vs deep copy

6) Software Engineering('Good Programming Style')
	- how to divide programs up into .h and .c files
	- why divide up programs into .h and .c files?
	- how to write comments (Note: you do not have to comment any 
		code on the test unless you are directly asked 
		for comments but some explanations *might* be useful 
		for gaining partial credit if you make mistakes)
	- the difference between declarations and definitions, 
		interfaces and implementations
	- public vs private member functions, and data members 
		of classes
</PRE>
